package com.ruoyi.teaching.domain;

import com.ruoyi.common.annotation.Excels;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 教务课程对象 teaching_course
 * 
 * @author william
 * @date 2022-10-10
 */
public class TeachingCourse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long courseId;

    /** 课程前缀 */
    @Excel(name = "课程前缀")
    private String preName;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String name;

    /** 课程类别 */
    @Excel(name = "课程类别")
    private String category;

    /** 科目 */
    @Excel(name = "科目")
    private String subject;

    /** 状态（0正常 1停用） */
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 创建人ID */
    private Long createId;

    /** 收费标准对象 */
    @Excels({
            @Excel(name = "课时", targetAttr = "lessonCount", type = Excel.Type.EXPORT),
            @Excel(name = "价格", targetAttr = "lessonPrice", type = Excel.Type.EXPORT)
    })
    private TeachingCoursePrice coursePrice;

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }
    public void setPreName(String preName) 
    {
        this.preName = preName;
    }

    public String getPreName() 
    {
        return preName;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }
    public void setSubject(String subject) 
    {
        this.subject = subject;
    }

    public String getSubject() 
    {
        return subject;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setCreateId(Long createId) 
    {
        this.createId = createId;
    }

    public Long getCreateId() 
    {
        return createId;
    }

    public TeachingCoursePrice getCoursePrice(){
        if(coursePrice == null){
                coursePrice = new TeachingCoursePrice();
        }
        return coursePrice;
    }

    public void setCoursePrice(TeachingCoursePrice coursePrice){this.coursePrice = coursePrice;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("courseId", getCourseId())
            .append("preName", getPreName())
            .append("name", getName())
            .append("category", getCategory())
            .append("subject", getSubject())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createId", getCreateId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
